Signal acquisition in a Global Positioning System (GPS) receiver generally requires searching for a modulation code in a carrier signal that is received from a GPS satellite. GPS generally makes use of two spread-spectrum modulation codes known as the "C/A code" and the "P code", which are multiplexed in quadrature onto a single carrier. The C/A code is a Gold code with a chipping rate of 1.023 Mbits/sec and is used for making course position determinations. The P code is a pseudo-random code with a chipping rate of 10.23 Mbits/sec and is used for more precise position determinations. The P code is more resistant to jamming than the C/A code and has a secure, "antispoof" version known as the Y code. The Y code is available only to authorized users, such as the military. The P code and the Y code are sometimes referred to collectively as the P(Y) code.
Code acquisition in a GPS receiver may be accomplished by comparing the received code with a reference code generated locally within the receiver in order to synchronize the two codes. The time required to acquire the signal is generally dependent upon frequency and phase uncertainties between the received code and the reference code. Consequently, acquisition of the received code generally involves searching a two-dimensional search region defined by a number of code offset values in one dimension and a number of frequency offset values, sometimes referred to as Doppler offset values, in the other dimension. The code offsets represent different values of phase offset between the received code and the reference code, while the frequency offsets represent different values of frequency offset between the received code and carrier and the reference code and carrier. The code and frequency offset values which define the search region are sometimes referred to as "bins".
Thus, referring to FIG. 1, the acquisition of a P(Y) code received from a GPS satellite is performed by searching for a signal 20 within a search region 21. The search region 21 is defined in terms of a number of code offset bins along one axis and a number of frequency offset bins along a second axis. Element 22 in FIG. 1 represents a bin. The signal acquisition time is the time from the start of the search until a bin is determined to be occupied or "hit".
The process of synchronizing the locally-generated code to the received code in a GPS receiver often involves computing the correlation between the two codes at various points in time. Referring to FIG. 2A, two correlation curves 31 and 32 are associated with two adjacent code offset bins. In the direction of code offset, the shape of the correlation function may be a series of overlapping triangles, the peaks of which are centered at the midpoint of each code offset bin, and the troughs of which fall halfway between each bin. The width of each bin is the width of each triangle at the code offset axis. Although the bins overlap, the midpoints of the bins are spaced apart by C chips; hence, the bins are said to be spaced apart by C chips. The rate at which a search region may be covered generally depends upon the number of parallel search bins and the degree of overlap of adjacent bins. The most adverse condition in terms of signal correlation is for the received signal to be located exactly midway between the center points of adjacent bins. For example, FIG. 2A illustrates that signal correlation is strongest when the actual code offset corresponds to the center of a bin and weakest when the offset corresponds to the trough 33 between two bins. Signal acquisition time, therefore, depends partially upon the "depth" of the trough 33. The depth of the trough 33, in turn, is directly dependent upon the spacing of the bins. If the bins are spaced farther apart, the total number of bins to be searched within a given search region may be reduced; however, the overall acquisition time may increase due to the increased trough depth. These principles, therefore, give rise to a design trade-off between bin spacing and signal acquisition speed.
FIG. 2B shows a relationship between frequency offset and signal correlation. In the direction of frequency offset, the shape of the correlation function is a series of overlapping sinc(x) curves, the peaks of which are centered at the midpoint of each frequency offset bin and the troughs of which fall halfway between each bin. Curves 34 and 35 represent the correlation curves associated with two adjacent frequency offset bins. The bins associated with curves 34 and 35 overlap but are spaced apart by F Hz. The width of the frequency offset bins is the width between the nulls of each sinc(x) curve at the frequency offset axis. As with code offset, the depth of the trough 36 depends partially upon the spacing of the bins.
A problem that is associated with many GPS receivers is power consumption. Random access memory (RAM) in the receiver can be a significant source of power consumption. A GPS receiver may include RAM for providing accumulators to store correlation data used during signal acquisition. Conventional dynamic RAM (DRAM) based on Complementary Metal-Oxide-Semiconductor (CMOS) process draws power each time it is accessed during a read or write cycle. Thus, it is desirable to reduce power consumption in a GPS receiver and, in particular, to reduce power consumption associated with RAM accumulators in a GPS receiver.